<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Document</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      .box {
        width: 3.45rem;
        height: 1.5rem;
        margin: 0.15rem;
        background-color: skyblue;
        border: 1px solid black; /*注意: 1px不参与适配*/
      }
    </style>
  </head>
  <body>
    <div class="box"></div>
    <script>
      const fontSize = (document.documentElement.clientWidth * 100) / 375
      document.documentElement.style.fontSize = fontSize + 'px'

      // 3.将当前设备的布局视口等比变大,布局视口的宽度和分辨率的宽度是一致. 那么1css像素就会
      // 被一个物理像素渲染
      // 3.1 获取像素比
      const dpr = window.devicePixelRatio
      // 3.2 获取开启理想视口的meta标签的真实dom
      const viewport = document.querySelector('meta[name=viewport]')
      //   console.log(viewport)
      // 3.3 根据像素比,计算新的scale值,让布局视口变成和当前设备的分辨率一样大
      const value = 1 / dpr // 0.5
      viewport.content = `width=device-width, initial-scale=${value}`

      // 第三步执行完之后,1px边框变细了.但是盒子变小了. 所以要修改根标签的字体大小,让盒子等比变大
      document.documentElement.style.fontSize = fontSize * dpr + 'px'
    </script>
  </body>
</html>
